#include "mcsettingsvalue.h"
#include "mcsettings.h"

namespace MCCommon
{

MCSettingListValue::MCSettingListValue()
{
    fpSettingsValue = new MCSettings();
}

MCSettingListValue::MCSettingListValue
( 
    const MCSettings& value 
)
{
    fpSettingsValue = value.Clone();
}

MCSettingListValue::~MCSettingListValue()
{
    if ( fpSettingsValue )
    {
        delete fpSettingsValue;
        fpSettingsValue = 0;
    }
}

IMCSettingValue::ValueType
MCSettingListValue::GetValueType() const
{
    return kVT_SettingList;
}  

IMCSettingValue* 
MCSettingListValue::Clone() const
{
    return new MCSettingListValue( *fpSettingsValue );
}

bool 
MCSettingListValue::GetBool() const
{
    return false;
}

int 
MCSettingListValue::GetInt() const
{
    return 0;
}

double 
MCSettingListValue::GetDouble() const
{
    return 0.0;
}

std::string 
MCSettingListValue::GetString() const
{
    return "";
}

const MCSettings& 
MCSettingListValue::GetMCSettings() const
{
    return *fpSettingsValue;
}

} // end of namespace MCCommon.